다음을 통해 공유


Set-AzStorageBlobContent

Azure Storage Blob에 로컬 파일을 업로드합니다.

구문

Set-AzStorageBlobContent
   [-File] <String>
   [-Container] <String>
   [-Blob <String>]
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-Tag <Hashtable>]
   [-PremiumPageBlobTier <PremiumPageBlobTier>]
   [-StandardBlobTier <String>]
   [-EncryptionScope <String>]
   [-Force]
   [-AsJob]
   [-TagCondition <String>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageBlobContent
   [-File] <String>
   [-Blob <String>]
   -CloudBlobContainer <CloudBlobContainer>
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-Tag <Hashtable>]
   [-PremiumPageBlobTier <PremiumPageBlobTier>]
   [-StandardBlobTier <String>]
   [-EncryptionScope <String>]
   [-Force]
   [-AsJob]
   [-TagCondition <String>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzStorageBlobContent
   [-File] <String>
   -CloudBlob <CloudBlob>
   [-BlobType <String>]
   [-Properties <Hashtable>]
   [-Metadata <Hashtable>]
   [-Tag <Hashtable>]
   [-PremiumPageBlobTier <PremiumPageBlobTier>]
   [-StandardBlobTier <String>]
   [-EncryptionScope <String>]
   [-Force]
   [-AsJob]
   [-TagCondition <String>]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Set-AzStorageBlobContent cmdlet은 로컬 파일을 Azure Storage Blob에 업로드합니다.

예제

예제 1: 명명된 파일 업로드

Set-AzStorageBlobContent -Container "ContosoUpload" -File ".\PlanningData" -Blob "Planning2015"

이 명령은 PlanningData라는 파일을 Planning2015라는 Blob에 업로드합니다.

예제 2: 현재 폴더 아래의 모든 파일 업로드

Get-ChildItem -File -Recurse | Set-AzStorageBlobContent -Container "ContosoUploads"

이 명령은 핵심 Windows PowerShell cmdlet Get-ChildItem을 사용하여 현재 폴더와 하위 폴더의 모든 파일을 가져와 파이프라인 연산자를 사용하여 현재 cmdlet에 전달합니다. Set-AzStorageBlobContent cmdlet은 ContosoUploads라는 컨테이너에 파일을 업로드합니다.

예제 3: 기존 Blob 덮어쓰기

Get-AzStorageBlob -Container "ContosoUploads" -Blob "Planning2015" | Set-AzStorageBlobContent -File "ContosoPlanning"

이 명령은 Get-AzStorageBlob cmdlet을 사용하여 ContosoUploads 컨테이너에서 Planning2015라는 Blob을 가져오고 해당 Blob을 현재 cmdlet에 전달합니다. 이 명령은 ContosoPlanning이라는 파일을 Planning2015로 업로드합니다. 이 명령은 Force 매개 변수를 지정하지 않습니다. 이 명령은 확인 메시지를 표시합니다. 명령을 확인하면 cmdlet이 기존 Blob을 덮어씁니다.

예제 4: 파이프라인을 사용하여 컨테이너에 파일 업로드

Get-AzStorageContainer -Container "ContosoUpload*" | Set-AzStorageBlobContent -File "ContosoPlanning" -Blob "Planning2015"

이 명령은 Get-AzStorageContainer cmdlet을 사용하여 ContosoUpload 문자열로 시작하는 컨테이너를 가져오고 해당 Blob을 현재 cmdlet에 전달합니다. 이 명령은 ContosoPlanning이라는 파일을 Planning2015로 업로드합니다.

예제 5: 메타데이터를 사용하여 페이지 Blob에 파일 업로드 및 PremiumPageBlobTier를 P10으로

$Metadata = @{"key" = "value"; "name" = "test"}
Set-AzStorageBlobContent -File "ContosoPlanning" -Container "ContosoUploads" -Metadata $Metadata -BlobType Page -PremiumPageBlobTier P10

첫 번째 명령은 Blob에 대한 메타데이터를 포함하는 해시 테이블을 만들고 해당 해시 테이블을 $Metadata 변수에 저장합니다. 두 번째 명령은 ContosoPlanning이라는 파일을 ContosoUploads라는 컨테이너에 업로드합니다. Blob에는 $Metadata 저장된 메타데이터가 포함되며 PremiumPageBlobTier는 P10입니다.

예제 6: 지정된 Blob 속성을 사용하여 Blob에 파일을 업로드하고 StandardBlobTier를 쿨로 설정

$filepath = "c:\temp\index.html"
Set-AzStorageBlobContent -File $filepath -Container "contosouploads" -Properties @{"ContentType" = [System.Web.MimeMapping]::GetMimeMapping($filepath); "ContentMD5" = "i727sP7HigloQDsqadNLHw=="} -StandardBlobTier Cool

AccountName: storageaccountname, ContainerName: contosouploads

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId                     
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------                     
index.html           BlockBlob 403116          text/html                      2020-09-22 08:06:53Z Cool                                    False

이 명령은 지정된 Blob 속성을 사용하여 c:\temp\index.html 파일을 contosouploads라는 컨테이너에 업로드하고 StandardBlobTier를 쿨로 설정합니다. 이 명령은 [System.Web.MimeMapping]::GetMimeMapping() API에 의해 Blob 속성으로 설정된 ContentType 값을 가져옵니다.

예제 7: 암호화 범위를 사용하여 Blob에 파일 업로드

$blob = Set-AzStorageBlobContent  -File "mylocalfile" -Container "mycontainer" -Blob "myblob"  -EncryptionScope "myencryptscope"

$blob.BlobProperties.EncryptionScope

myencryptscope

이 명령은 암호화 범위를 사용하여 Blob에 파일을 업로드합니다.

매개 변수

-AsJob

백그라운드에서 cmdlet을 실행합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Blob

Blob의 이름을 지정합니다. 이 cmdlet은 이 매개 변수가 지정하는 Azure Storage Blob에 파일을 업로드합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-BlobType

이 cmdlet이 업로드하는 Blob의 형식을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Block
  • 페이지
  • Append

기본값은 Block입니다.

형식:String
허용되는 값:Block, Page, Append
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ClientTimeoutPerRequest

하나의 서비스 요청에 대한 클라이언트 쪽 제한 시간 간격(초)을 지정합니다. 이전 호출이 지정된 간격으로 실패하면 이 cmdlet은 요청을 다시 시도합니다. 이 cmdlet이 간격이 경과하기 전에 성공적인 응답을 받지 못하면 이 cmdlet은 오류를 반환합니다.

형식:Nullable<T>[Int32]
별칭:ClientTimeoutPerRequestInSeconds
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CloudBlob

CloudBlob 개체를 지정합니다. CloudBlob 개체를 가져오려면 Get-AzStorageBlob cmdlet을 사용합니다.

형식:CloudBlob
별칭:ICloudBlob
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-CloudBlobContainer

Azure Storage 클라이언트 라이브러리에서 CloudBlobContainer 개체를 지정합니다. 이 cmdlet은 이 매개 변수가 지정하는 컨테이너의 Blob에 콘텐츠를 업로드합니다. CloudBlobContainer 개체를 가져오려면 Get-AzStorageContainer cmdlet을 사용합니다.

형식:CloudBlobContainer
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ConcurrentTaskCount

최대 동시 네트워크 호출을 지정합니다. 이 매개 변수를 사용하여 동시 네트워크 호출의 최대 수를 지정하여 로컬 CPU 및 대역폭 사용을 제한하는 동시성을 제한할 수 있습니다. 지정된 값은 절대 개수이며 코어 수를 곱하지 않습니다. 이 매개 변수는 초당 100킬로비트와 같은 낮은 대역폭 환경에서 네트워크 연결 문제를 줄이는 데 도움이 될 수 있습니다. 기본값은 10입니다.

형식:Nullable<T>[Int32]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Container

컨테이너의 이름을 지정합니다. 이 cmdlet은 이 매개 변수가 지정하는 컨테이너의 Blob에 파일을 업로드합니다.

형식:String
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Context

Azure Storage 컨텍스트를 지정합니다. 스토리지 컨텍스트를 가져오려면 New-AzStorageContext cmdlet을 사용합니다. 읽기 권한 없이 SAS 토큰에서 만든 스토리지 컨텍스트를 사용하려면 Blob 존재 확인을 건너뛰려면 -Force 매개 변수를 추가해야 합니다.

형식:IStorageContext
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

형식:IAzureContextContainer
별칭:AzureRmContext, AzureCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EncryptionScope

Blob에 요청할 때 사용할 암호화 범위입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-File

Blob 콘텐츠로 업로드할 파일의 로컬 파일 경로를 지정합니다.

형식:String
별칭:FullName
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Force

이 cmdlet은 확인 메시지를 표시하지 않고 기존 Blob을 덮어씁니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Metadata

업로드된 Blob에 대한 메타데이터를 지정합니다.

형식:Hashtable
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PremiumPageBlobTier

페이지 Blob 계층

형식:PremiumPageBlobTier
허용되는 값:Unknown, P4, P6, P10, P20, P30, P40, P50, P60, P70, P80
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Properties

업로드된 Blob의 속성을 지정합니다. 지원되는 속성은 CacheControl, ContentDisposition, ContentEncoding, ContentLanguage, ContentMD5, ContentType입니다.

형식:Hashtable
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ServerTimeoutPerRequest

요청에 대한 서비스 쪽 제한 시간 간격(초)을 지정합니다. 서비스에서 요청을 처리하기 전에 지정된 간격이 경과하면 스토리지 서비스가 오류를 반환합니다.

형식:Nullable<T>[Int32]
별칭:ServerTimeoutPerRequestInSeconds
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StandardBlobTier

블록 Blob 계층, 유효한 값은 핫/쿨/보관/콜드입니다. 에서 세부 정보 보기 https://learn.microsoft.com/azure/storage/blobs/storage-blob-storage-tiers

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Tag

Blob 태그

형식:Hashtable
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TagCondition

일치 조건을 확인하는 선택적 태그 식 문입니다. Blob 태그가 지정된 식과 일치하지 않으면 Blob 요청이 실패합니다. 자세한 내용은 https://learn.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations#tags-conditional-operations 를 참조하세요.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

CloudBlobContainer

CloudBlob

IStorageContext

출력

AzureStorageBlob